#ifndef ENDINSDESTSENDHANDLER_H
#define ENDINSDESTSENDHANDLER_H

#include "EndDestSendHandlerBase.h"
#include "Log.h"

class EndInsDestSendHandler:public EndDestSendHandlerBase
{
public:
	EndInsDestSendHandler():EndDestSendHandlerBase(){}

	~EndInsDestSendHandler(){}

protected:
	virtual void GetRecvSendInfo(ClientContext &client,SOCKET *sock,WSABUF **buffer,WSABUF **weakRefBuffer,OVERLAPPED **ovl,std::string **fullBuffer);

	virtual std::string::size_type GetPartialTransIndex(ClientContext &client);

	virtual void SetPartialTransIndex(ClientContext &client,std::string::size_type index);

	virtual ITransHandler* GetNextHandler();

	virtual ExecuteResultCode OnExecuteError(ClientContext&,OVERLAPPED*,ExecuteResultCode);

	virtual void RequestFullSendPostProcess(ClientContext &client);

private:
	static log4cplus::Logger log;
};

#endif